home *** CD-ROM | disk | FTP | other *** search
/ Skunkware 5 / Skunkware 5.iso / src / Games / reve / reve_ui.c < prev    next >
C/C++ Source or Header  |  1995-05-03  |  24KB  |  1,143 lines

  1. /*
  2.  * reve_ui.c - User interface object initialization functions.
  3.  * This file was generated by `gxv' from `reve.G'.
  4.  * DO NOT EDIT BY HAND.
  5.  */
  6.  
  7. #include <stdio.h>
  8. #include <sys/param.h>
  9. #include <sys/types.h>
  10. #include <xview/xview.h>
  11. #include <xview/canvas.h>
  12. #include <xview/panel.h>
  13. #include <xview/scrollbar.h>
  14. #include <xview/svrimage.h>
  15. #include <xview/termsw.h>
  16. #include <xview/text.h>
  17. #include <xview/tty.h>
  18. #include <xview/xv_xrect.h>
  19. #include "reve_ui.h"
  20.  
  21. /*
  22.  * Create object `Gmenu' in the specified instance.
  23.  */
  24. Xv_opaque
  25. reve_Gmenu_create(ip, owner)
  26.     caddr_t        *ip;
  27.     Xv_opaque        owner;
  28. {
  29.     extern Menu_item    menu_do();
  30.     extern Menu_item    menu_do();
  31.     extern Menu_item    menu_do();
  32.     extern Menu_item    menu_do();
  33.     Xv_opaque    obj;
  34.     
  35.     obj = xv_create(XV_NULL, MENU_COMMAND_MENU,
  36.         XV_KEY_DATA, INSTANCE, ip,
  37.         MENU_TITLE_ITEM, "Game",
  38.         MENU_ITEM,
  39.             XV_KEY_DATA, INSTANCE, ip,
  40.             MENU_STRING, "New",
  41.             MENU_GEN_PROC, menu_do,
  42.             NULL,
  43.         MENU_ITEM,
  44.             XV_KEY_DATA, INSTANCE, ip,
  45.             MENU_STRING, "Load...",
  46.             MENU_GEN_PROC, menu_do,
  47.             NULL,
  48.         MENU_ITEM,
  49.             XV_KEY_DATA, INSTANCE, ip,
  50.             MENU_STRING, "Save...",
  51.             MENU_GEN_PROC, menu_do,
  52.             NULL,
  53.         MENU_ITEM,
  54.             XV_KEY_DATA, INSTANCE, ip,
  55.             MENU_STRING, "Print",
  56.             MENU_GEN_PROC, menu_do,
  57.             NULL,
  58.         MENU_GEN_PIN_WINDOW, (Xv_opaque) ip[0], "Game",
  59.         NULL);
  60.     return obj;
  61. }
  62.  
  63. /*
  64.  * Create object `Mmenu' in the specified instance.
  65.  */
  66. Xv_opaque
  67. reve_Mmenu_create(ip, owner)
  68.     caddr_t        *ip;
  69.     Xv_opaque        owner;
  70. {
  71.     extern Menu_item    menu_do();
  72.     extern Menu_item    menu_do();
  73.     extern Menu_item    menu_do();
  74.     extern Menu_item    menu_do();
  75.     Xv_opaque    obj;
  76.     
  77.     obj = xv_create(XV_NULL, MENU_COMMAND_MENU,
  78.         XV_KEY_DATA, INSTANCE, ip,
  79.         MENU_TITLE_ITEM, "Move",
  80.         MENU_ITEM,
  81.             XV_KEY_DATA, INSTANCE, ip,
  82.             MENU_STRING, "Suggest",
  83.             MENU_GEN_PROC, menu_do,
  84.             NULL,
  85.         MENU_ITEM,
  86.             XV_KEY_DATA, INSTANCE, ip,
  87.             MENU_STRING, "Show All",
  88.             MENU_GEN_PROC, menu_do,
  89.             NULL,
  90.         MENU_ITEM,
  91.             XV_KEY_DATA, INSTANCE, ip,
  92.             MENU_STRING, "Redo",
  93.             MENU_GEN_PROC, menu_do,
  94.             NULL,
  95.         MENU_ITEM,
  96.             XV_KEY_DATA, INSTANCE, ip,
  97.             MENU_STRING, "Undo",
  98.             MENU_GEN_PROC, menu_do,
  99.             NULL,
  100.         MENU_GEN_PIN_WINDOW, (Xv_opaque) ip[0], "Move",
  101.         NULL);
  102.     return obj;
  103. }
  104.  
  105. /*
  106.  * Initialize an instance of object `Wmain'.
  107.  */
  108. reve_Wmain_objects *
  109. reve_Wmain_objects_initialize(ip, owner)
  110.     reve_Wmain_objects    *ip;
  111.     Xv_opaque    owner;
  112. {
  113.     if (!ip && !(ip = (reve_Wmain_objects *) calloc(1, sizeof (reve_Wmain_objects))))
  114.         return (reve_Wmain_objects *) NULL;
  115.     if (!ip->Wmain)
  116.         ip->Wmain = reve_Wmain_Wmain_create(ip, owner);
  117.     if (!ip->controls1)
  118.         ip->controls1 = reve_Wmain_controls1_create(ip, ip->Wmain);
  119.     if (!ip->Gbutton)
  120.         ip->Gbutton = reve_Wmain_Gbutton_create(ip, ip->controls1);
  121.     if (!ip->Mbutton)
  122.         ip->Mbutton = reve_Wmain_Mbutton_create(ip, ip->controls1);
  123.     if (!ip->Bhelp)
  124.         ip->Bhelp = reve_Wmain_Bhelp_create(ip, ip->controls1);
  125.     if (!ip->Bprops)
  126.         ip->Bprops = reve_Wmain_Bprops_create(ip, ip->controls1);
  127.     if (!ip->Tblack)
  128.         ip->Tblack = reve_Wmain_Tblack_create(ip, ip->controls1);
  129.     if (!ip->Twhite)
  130.         ip->Twhite = reve_Wmain_Twhite_create(ip, ip->controls1);
  131.     if (!ip->Tblack_time)
  132.         ip->Tblack_time = reve_Wmain_Tblack_time_create(ip, ip->controls1);
  133.     if (!ip->Twhite_time)
  134.         ip->Twhite_time = reve_Wmain_Twhite_time_create(ip, ip->controls1);
  135.     if (!ip->Mpanel)
  136.         ip->Mpanel = reve_Wmain_Mpanel_create(ip, ip->controls1);
  137.     if (!ip->Meval)
  138.         ip->Meval = reve_Wmain_Meval_create(ip, ip->controls1);
  139.     if (!ip->Mscore)
  140.         ip->Mscore = reve_Wmain_Mscore_create(ip, ip->controls1);
  141.     if (!ip->Mturn)
  142.         ip->Mturn = reve_Wmain_Mturn_create(ip, ip->controls1);
  143.     return ip;
  144. }
  145.  
  146. /*
  147.  * Create object `Wmain' in the specified instance.
  148.  */
  149. Xv_opaque
  150. reve_Wmain_Wmain_create(ip, owner)
  151.     reve_Wmain_objects    *ip;
  152.     Xv_opaque        owner;
  153. {
  154.     Xv_opaque    obj;
  155.     Xv_opaque    Wmain_image;
  156. #include "images/reve.xbm"
  157.     
  158.     Wmain_image = xv_create(XV_NULL, SERVER_IMAGE,
  159.         SERVER_IMAGE_DEPTH, 1,
  160.         SERVER_IMAGE_X_BITS, reve_bits,
  161.         XV_WIDTH, reve_width,
  162.         XV_HEIGHT, reve_height,
  163.         NULL);
  164.     obj = xv_create(owner, FRAME,
  165.         XV_KEY_DATA, INSTANCE, ip,
  166.         XV_WIDTH, 461,
  167.         XV_HEIGHT, 209,
  168.         XV_LABEL, "Reve.",
  169.         FRAME_SHOW_FOOTER, FALSE,
  170.         FRAME_SHOW_RESIZE_CORNER, FALSE,
  171.         FRAME_ICON, xv_create(XV_NULL, ICON,
  172.             ICON_IMAGE, Wmain_image,
  173.             NULL),
  174.         NULL);
  175.     return obj;
  176. }
  177.  
  178. /*
  179.  * Create object `controls1' in the specified instance.
  180.  */
  181. Xv_opaque
  182. reve_Wmain_controls1_create(ip, owner)
  183.     reve_Wmain_objects    *ip;
  184.     Xv_opaque        owner;
  185. {
  186.     Xv_opaque    obj;
  187.     
  188.     obj = xv_create(owner, PANEL,
  189.         XV_KEY_DATA, INSTANCE, ip,
  190.         XV_X, 0,
  191.         XV_Y, 0,
  192.         XV_WIDTH, WIN_EXTEND_TO_EDGE,
  193.         XV_HEIGHT, WIN_EXTEND_TO_EDGE,
  194.         WIN_BORDER, FALSE,
  195.         NULL);
  196.     return obj;
  197. }
  198.  
  199. /*
  200.  * Create object `Gbutton' in the specified instance.
  201.  */
  202. Xv_opaque
  203. reve_Wmain_Gbutton_create(ip, owner)
  204.     reve_Wmain_objects    *ip;
  205.     Xv_opaque        owner;
  206. {
  207.     Xv_opaque    obj;
  208.     
  209.     obj = xv_create(owner, PANEL_BUTTON,
  210.         XV_KEY_DATA, INSTANCE, ip,
  211.         XV_X, 8,
  212.         XV_Y, 8,
  213.         PANEL_LABEL_STRING, "Game",
  214.         PANEL_ITEM_MENU, reve_Gmenu_create((caddr_t *) ip, NULL),
  215.         NULL);
  216.     return obj;
  217. }
  218.  
  219. /*
  220.  * Create object `Mbutton' in the specified instance.
  221.  */
  222. Xv_opaque
  223. reve_Wmain_Mbutton_create(ip, owner)
  224.     reve_Wmain_objects    *ip;
  225.     Xv_opaque        owner;
  226. {
  227.     Xv_opaque    obj;
  228.     
  229.     obj = xv_create(owner, PANEL_BUTTON,
  230.         XV_KEY_DATA, INSTANCE, ip,
  231.         XV_X, 88,
  232.         XV_Y, 8,
  233.         PANEL_LABEL_STRING, "Move",
  234.         PANEL_ITEM_MENU, reve_Mmenu_create((caddr_t *) ip, NULL),
  235.         NULL);
  236.     return obj;
  237. }
  238.  
  239. /*
  240.  * Create object `Bhelp' in the specified instance.
  241.  */
  242. Xv_opaque
  243. reve_Wmain_Bhelp_create(ip, owner)
  244.     reve_Wmain_objects    *ip;
  245.     Xv_opaque        owner;
  246. {
  247.     extern void        button_do();
  248.     Xv_opaque    obj;
  249.     
  250.     obj = xv_create(owner, PANEL_BUTTON,
  251.         XV_KEY_DATA, INSTANCE, ip,
  252.         XV_X, 168,
  253.         XV_Y, 8,
  254.         PANEL_LABEL_STRING, "Help...",
  255.         PANEL_NOTIFY_PROC, button_do,
  256.         NULL);
  257.     return obj;
  258. }
  259.  
  260. /*
  261.  * Create object `Bprops' in the specified instance.
  262.  */
  263. Xv_opaque
  264. reve_Wmain_Bprops_create(ip, owner)
  265.     reve_Wmain_objects    *ip;
  266.     Xv_opaque        owner;
  267. {
  268.     extern void        button_do();
  269.     Xv_opaque    obj;
  270.     
  271.     obj = xv_create(owner, PANEL_BUTTON,
  272.         XV_KEY_DATA, INSTANCE, ip,
  273.         XV_X, 240,
  274.         XV_Y, 8,
  275.         PANEL_LABEL_STRING, "Props...",
  276.         PANEL_NOTIFY_PROC, button_do,
  277.         NULL);
  278.     return obj;
  279. }
  280.  
  281. /*
  282.  * Create object `Tblack' in the specified instance.
  283.  */
  284. Xv_opaque
  285. reve_Wmain_Tblack_create(ip, owner)
  286.     reve_Wmain_objects    *ip;
  287.     Xv_opaque        owner;
  288. {
  289.     Xv_opaque    obj;
  290.     
  291.     obj = xv_create(owner, PANEL_TEXT,
  292.         XV_KEY_DATA, INSTANCE, ip,
  293.         XV_X, 8,
  294.         XV_Y, 40,
  295.         PANEL_VALUE_DISPLAY_LENGTH, 12,
  296.         PANEL_VALUE_STORED_LENGTH, 20,
  297.         PANEL_LABEL_STRING, "Black:",
  298.         PANEL_LAYOUT, PANEL_HORIZONTAL,
  299.         PANEL_VALUE_UNDERLINED, FALSE,
  300.         PANEL_READ_ONLY, TRUE,
  301.         NULL);
  302.     return obj;
  303. }
  304.  
  305. /*
  306.  * Create object `Twhite' in the specified instance.
  307.  */
  308. Xv_opaque
  309. reve_Wmain_Twhite_create(ip, owner)
  310.     reve_Wmain_objects    *ip;
  311.     Xv_opaque        owner;
  312. {
  313.     Xv_opaque    obj;
  314.     
  315.     obj = xv_create(owner, PANEL_TEXT,
  316.         XV_KEY_DATA, INSTANCE, ip,
  317.         XV_X, 216,
  318.         XV_Y, 40,
  319.         PANEL_VALUE_DISPLAY_LENGTH, 12,
  320.         PANEL_VALUE_STORED_LENGTH, 20,
  321.         PANEL_LABEL_STRING, "White:",
  322.         PANEL_LAYOUT, PANEL_HORIZONTAL,
  323.         PANEL_VALUE_UNDERLINED, FALSE,
  324.         PANEL_READ_ONLY, TRUE,
  325.         NULL);
  326.     return obj;
  327. }
  328.  
  329. /*
  330.  * Create object `Tblack_time' in the specified instance.
  331.  */
  332. Xv_opaque
  333. reve_Wmain_Tblack_time_create(ip, owner)
  334.     reve_Wmain_objects    *ip;
  335.     Xv_opaque        owner;
  336. {
  337.     Xv_opaque    obj;
  338.     
  339.     obj = xv_create(owner, PANEL_TEXT,
  340.         XV_KEY_DATA, INSTANCE, ip,
  341.         XV_X, 8,
  342.         XV_Y, 72,
  343.         PANEL_VALUE_DISPLAY_LENGTH, 6,
  344.         PANEL_VALUE_STORED_LENGTH, 6,
  345.         PANEL_LABEL_STRING, "Time Left:",
  346.         PANEL_LAYOUT, PANEL_HORIZONTAL,
  347.         PANEL_READ_ONLY, TRUE,
  348.         NULL);
  349.     return obj;
  350. }
  351.  
  352. /*
  353.  * Create object `Twhite_time' in the specified instance.
  354.  */
  355. Xv_opaque
  356. reve_Wmain_Twhite_time_create(ip, owner)
  357.     reve_Wmain_objects    *ip;
  358.     Xv_opaque        owner;
  359. {
  360.     Xv_opaque    obj;
  361.     
  362.     obj = xv_create(owner, PANEL_TEXT,
  363.         XV_KEY_DATA, INSTANCE, ip,
  364.         XV_X, 216,
  365.         XV_Y, 72,
  366.         PANEL_VALUE_DISPLAY_LENGTH, 6,
  367.         PANEL_VALUE_STORED_LENGTH, 6,
  368.         PANEL_LABEL_STRING, "Time Left:",
  369.         PANEL_LAYOUT, PANEL_HORIZONTAL,
  370.         PANEL_READ_ONLY, TRUE,
  371.         NULL);
  372.     return obj;
  373. }
  374.  
  375. /*
  376.  * Create object `Mpanel' in the specified instance.
  377.  */
  378. Xv_opaque
  379. reve_Wmain_Mpanel_create(ip, owner)
  380.     reve_Wmain_objects    *ip;
  381.     Xv_opaque        owner;
  382. {
  383.     Xv_opaque    obj;
  384.     
  385.     obj = xv_create(owner, PANEL_MESSAGE,
  386.         XV_KEY_DATA, INSTANCE, ip,
  387.         XV_X, 8,
  388.         XV_Y, 104,
  389.         PANEL_LABEL_BOLD, FALSE,
  390.         NULL);
  391.     return obj;
  392. }
  393.  
  394. /*
  395.  * Create object `Meval' in the specified instance.
  396.  */
  397. Xv_opaque
  398. reve_Wmain_Meval_create(ip, owner)
  399.     reve_Wmain_objects    *ip;
  400.     Xv_opaque        owner;
  401. {
  402.     Xv_opaque    obj;
  403.     
  404.     obj = xv_create(owner, PANEL_MESSAGE,
  405.         XV_KEY_DATA, INSTANCE, ip,
  406.         XV_X, 8,
  407.         XV_Y, 136,
  408.         PANEL_LABEL_BOLD, FALSE,
  409.         NULL);
  410.     return obj;
  411. }
  412.  
  413. /*
  414.  * Create object `Mscore' in the specified instance.
  415.  */
  416. Xv_opaque
  417. reve_Wmain_Mscore_create(ip, owner)
  418.     reve_Wmain_objects    *ip;
  419.     Xv_opaque        owner;
  420. {
  421.     Xv_opaque    obj;
  422.     
  423.     obj = xv_create(owner, PANEL_MESSAGE,
  424.         XV_KEY_DATA, INSTANCE, ip,
  425.         XV_X, 8,
  426.         XV_Y, 168,
  427.         PANEL_LABEL_BOLD, FALSE,
  428.         NULL);
  429.     return obj;
  430. }
  431.  
  432. /*
  433.  * Create object `Mturn' in the specified instance.
  434.  */
  435. Xv_opaque
  436. reve_Wmain_Mturn_create(ip, owner)
  437.     reve_Wmain_objects    *ip;
  438.     Xv_opaque        owner;
  439. {
  440.     Xv_opaque    obj;
  441.     
  442.     obj = xv_create(owner, PANEL_MESSAGE,
  443.         XV_KEY_DATA, INSTANCE, ip,
  444.         XV_X, 208,
  445.         XV_Y, 168,
  446.         PANEL_LABEL_BOLD, FALSE,
  447.         NULL);
  448.     return obj;
  449. }
  450.  
  451. /*
  452.  * Initialize an instance of object `Wdepth'.
  453.  */
  454. reve_Wdepth_objects *
  455. reve_Wdepth_objects_initialize(ip, owner)
  456.     reve_Wdepth_objects    *ip;
  457.     Xv_opaque    owner;
  458. {
  459.     if (!ip && !(ip = (reve_Wdepth_objects *) calloc(1, sizeof (reve_Wdepth_objects))))
  460.         return (reve_Wdepth_objects *) NULL;
  461.     if (!ip->Wdepth)
  462.         ip->Wdepth = reve_Wdepth_Wdepth_create(ip, owner);
  463.     if (!ip->controls3)
  464.         ip->controls3 = reve_Wdepth_controls3_create(ip, ip->Wdepth);
  465.     if (!ip->Tdepth)
  466.         ip->Tdepth = reve_Wdepth_Tdepth_create(ip, ip->controls3);
  467.     if (!ip->Bdapply)
  468.         ip->Bdapply = reve_Wdepth_Bdapply_create(ip, ip->controls3);
  469.     return ip;
  470. }
  471.  
  472. /*
  473.  * Create object `Wdepth' in the specified instance.
  474.  */
  475. Xv_opaque
  476. reve_Wdepth_Wdepth_create(ip, owner)
  477.     reve_Wdepth_objects    *ip;
  478.     Xv_opaque        owner;
  479. {
  480.     Xv_opaque    obj;
  481.     
  482.     obj = xv_create(owner, FRAME_CMD,
  483.         XV_KEY_DATA, INSTANCE, ip,
  484.         XV_WIDTH, 171,
  485.         XV_HEIGHT, 69,
  486.         XV_LABEL, "Set Search Depth",
  487.         XV_SHOW, FALSE,
  488.         FRAME_SHOW_FOOTER, FALSE,
  489.         FRAME_SHOW_RESIZE_CORNER, FALSE,
  490.         FRAME_CMD_PUSHPIN_IN, TRUE,
  491.         NULL);
  492.     xv_set(xv_get(obj, FRAME_CMD_PANEL), WIN_SHOW, FALSE, NULL);
  493.     return obj;
  494. }
  495.  
  496. /*
  497.  * Create object `controls3' in the specified instance.
  498.  */
  499. Xv_opaque
  500. reve_Wdepth_controls3_create(ip, owner)
  501.     reve_Wdepth_objects    *ip;
  502.     Xv_opaque        owner;
  503. {
  504.     Xv_opaque    obj;
  505.     
  506.     obj = xv_create(owner, PANEL,
  507.         XV_KEY_DATA, INSTANCE, ip,
  508.         XV_X, 0,
  509.         XV_Y, 0,
  510.         XV_WIDTH, WIN_EXTEND_TO_EDGE,
  511.         XV_HEIGHT, WIN_EXTEND_TO_EDGE,
  512.         WIN_BORDER, FALSE,
  513.         NULL);
  514.     return obj;
  515. }
  516.  
  517. /*
  518.  * Create object `Tdepth' in the specified instance.
  519.  */
  520. Xv_opaque
  521. reve_Wdepth_Tdepth_create(ip, owner)
  522.     reve_Wdepth_objects    *ip;
  523.     Xv_opaque        owner;
  524. {
  525.     Xv_opaque    obj;
  526.     
  527.     obj = xv_create(owner, PANEL_NUMERIC_TEXT,
  528.         XV_KEY_DATA, INSTANCE, ip,
  529.         XV_X, 32,
  530.         XV_Y, 8,
  531.         PANEL_VALUE_DISPLAY_LENGTH, 2,
  532.         PANEL_VALUE_STORED_LENGTH, 3,
  533.         PANEL_LABEL_STRING, "Depth:",
  534.         PANEL_LAYOUT, PANEL_HORIZONTAL,
  535.         PANEL_MAX_VALUE, 60,
  536.         PANEL_MIN_VALUE, 1,
  537.         PANEL_VALUE, 1,
  538.         PANEL_READ_ONLY, FALSE,
  539.         NULL);
  540.     return obj;
  541. }
  542.  
  543. /*
  544.  * Create object `Bdapply' in the specified instance.
  545.  */
  546. Xv_opaque
  547. reve_Wdepth_Bdapply_create(ip, owner)
  548.     reve_Wdepth_objects    *ip;
  549.     Xv_opaque        owner;
  550. {
  551.     extern void        set_profmax();
  552.     Xv_opaque    obj;
  553.     
  554.     obj = xv_create(owner, PANEL_BUTTON,
  555.         XV_KEY_DATA, INSTANCE, ip,
  556.         XV_X, 64,
  557.         XV_Y, 40,
  558.         PANEL_LABEL_STRING, "Apply",
  559.         PANEL_NOTIFY_PROC, set_profmax,
  560.         NULL);
  561.     return obj;
  562. }
  563.  
  564. /*
  565.  * Initialize an instance of object `Wprops'.
  566.  */
  567. reve_Wprops_objects *
  568. reve_Wprops_objects_initialize(ip, owner)
  569.     reve_Wprops_objects    *ip;
  570.     Xv_opaque    owner;
  571. {
  572.     if (!ip && !(ip = (reve_Wprops_objects *) calloc(1, sizeof (reve_Wprops_objects))))
  573.         return (reve_Wprops_objects *) NULL;
  574.     if (!ip->Wprops)
  575.         ip->Wprops = reve_Wprops_Wprops_create(ip, owner);
  576.     if (!ip->controls4)
  577.         ip->controls4 = reve_Wprops_controls4_create(ip, ip->Wprops);
  578.     if (!ip->Splays)
  579.         ip->Splays = reve_Wprops_Splays_create(ip, ip->controls4);
  580.     if (!ip->Sdifficulty)
  581.         ip->Sdifficulty = reve_Wprops_Sdifficulty_create(ip, ip->controls4);
  582.     if (!ip->Soptions)
  583.         ip->Soptions = reve_Wprops_Soptions_create(ip, ip->controls4);
  584.     if (!ip->Bpapply)
  585.         ip->Bpapply = reve_Wprops_Bpapply_create(ip, ip->controls4);
  586.     if (!ip->Bpreset)
  587.         ip->Bpreset = reve_Wprops_Bpreset_create(ip, ip->controls4);
  588.     return ip;
  589. }
  590.  
  591. /*
  592.  * Create object `Wprops' in the specified instance.
  593.  */
  594. Xv_opaque
  595. reve_Wprops_Wprops_create(ip, owner)
  596.     reve_Wprops_objects    *ip;
  597.     Xv_opaque        owner;
  598. {
  599.     Xv_opaque    obj;
  600.     
  601.     obj = xv_create(owner, FRAME_CMD,
  602.         XV_KEY_DATA, INSTANCE, ip,
  603.         XV_WIDTH, 369,
  604.         XV_HEIGHT, 368,
  605.         XV_LABEL, "Reve Properties",
  606.         XV_SHOW, FALSE,
  607.         FRAME_SHOW_FOOTER, FALSE,
  608.         FRAME_SHOW_RESIZE_CORNER, FALSE,
  609.         FRAME_CMD_PUSHPIN_IN, TRUE,
  610.         NULL);
  611.     xv_set(xv_get(obj, FRAME_CMD_PANEL), WIN_SHOW, FALSE, NULL);
  612.     return obj;
  613. }
  614.  
  615. /*
  616.  * Create object `controls4' in the specified instance.
  617.  */
  618. Xv_opaque
  619. reve_Wprops_controls4_create(ip, owner)
  620.     reve_Wprops_objects    *ip;
  621.     Xv_opaque        owner;
  622. {
  623.     Xv_opaque    obj;
  624.     
  625.     obj = xv_create(owner, PANEL,
  626.         XV_KEY_DATA, INSTANCE, ip,
  627.         XV_X, 0,
  628.         XV_Y, 0,
  629.         XV_WIDTH, WIN_EXTEND_TO_EDGE,
  630.         XV_HEIGHT, WIN_EXTEND_TO_EDGE,
  631.         WIN_BORDER, FALSE,
  632.         NULL);
  633.     return obj;
  634. }
  635.  
  636. /*
  637.  * Create object `Splays' in the specified instance.
  638.  */
  639. Xv_opaque
  640. reve_Wprops_Splays_create(ip, owner)
  641.     reve_Wprops_objects    *ip;
  642.     Xv_opaque        owner;
  643. {
  644.     Xv_opaque    obj;
  645.     
  646.     obj = xv_create(owner, PANEL_CHOICE,
  647.         XV_KEY_DATA, INSTANCE, ip,
  648.         XV_X, 8,
  649.         XV_Y, 16,
  650.         PANEL_CHOICE_NROWS, 1,
  651.         PANEL_LAYOUT, PANEL_HORIZONTAL,
  652.         PANEL_CHOOSE_NONE, FALSE,
  653.         PANEL_LABEL_STRING, "Computer plays:",
  654.         PANEL_CHOICE_STRINGS,
  655.             "White",
  656.             "Black",
  657.             "Neither",
  658.             "Both",
  659.             NULL,
  660.         PANEL_VALUE, 0,
  661.         NULL);
  662.     return obj;
  663. }
  664.  
  665. /*
  666.  * Create object `Sdifficulty' in the specified instance.
  667.  */
  668. Xv_opaque
  669. reve_Wprops_Sdifficulty_create(ip, owner)
  670.     reve_Wprops_objects    *ip;
  671.     Xv_opaque        owner;
  672. {
  673.     extern void        set_depth();
  674.     Xv_opaque    obj;
  675.     
  676.     obj = xv_create(owner, PANEL_CHOICE, PANEL_DISPLAY_LEVEL, PANEL_CURRENT,
  677.         XV_KEY_DATA, INSTANCE, ip,
  678.         XV_X, 48,
  679.         XV_Y, 48,
  680.         PANEL_CHOICE_NROWS, 1,
  681.         PANEL_LAYOUT, PANEL_HORIZONTAL,
  682.         PANEL_LABEL_STRING, "Difficulty:",
  683.         PANEL_NOTIFY_PROC, set_depth,
  684.         PANEL_CHOICE_STRINGS,
  685.             "Instant",
  686.             "1 Minute",
  687.             "3 Minutes",
  688.             "5 Minutes",
  689.             "10 Minutes",
  690.             "15 Minutes",
  691.             "20 Minutes",
  692.             "Tournament (30)",
  693.             "60 Minutes",
  694.             "Depth...",
  695.             NULL,
  696.         NULL);
  697.     return obj;
  698. }
  699.  
  700. /*
  701.  * Create object `Soptions' in the specified instance.
  702.  */
  703. Xv_opaque
  704. reve_Wprops_Soptions_create(ip, owner)
  705.     reve_Wprops_objects    *ip;
  706.     Xv_opaque        owner;
  707. {
  708.     Xv_opaque    obj;
  709.     
  710.     obj = xv_create(owner, PANEL_TOGGLE, PANEL_FEEDBACK, PANEL_MARKED,
  711.         XV_KEY_DATA, INSTANCE, ip,
  712.         XV_X, 58,
  713.         XV_Y, 80,
  714.         PANEL_CHOICE_NROWS, 8,
  715.         PANEL_LAYOUT, PANEL_HORIZONTAL,
  716.         PANEL_LABEL_STRING, "Options:",
  717.         PANEL_CHOICE_STRINGS,
  718.             "Animate Move",
  719.             "Show Current Best Move",
  720.             "Show Last Move",
  721.             "Show Evaluation Info.",
  722.             "Number Last Move",
  723.             "Don't Show Flip",
  724.             "Invalid Move Shows Legal Moves",
  725.             "Use Clocks to Time Moves",
  726.             NULL,
  727.         PANEL_VALUE, 0,
  728.         NULL);
  729.     return obj;
  730. }
  731.  
  732. /*
  733.  * Create object `Bpapply' in the specified instance.
  734.  */
  735. Xv_opaque
  736. reve_Wprops_Bpapply_create(ip, owner)
  737.     reve_Wprops_objects    *ip;
  738.     Xv_opaque        owner;
  739. {
  740.     extern void        set_props();
  741.     Xv_opaque    obj;
  742.     
  743.     obj = xv_create(owner, PANEL_BUTTON,
  744.         XV_KEY_DATA, INSTANCE, ip,
  745.         XV_X, 112,
  746.         XV_Y, 336,
  747.         PANEL_LABEL_STRING, "Apply",
  748.         PANEL_NOTIFY_PROC, set_props,
  749.         NULL);
  750.     return obj;
  751. }
  752.  
  753. /*
  754.  * Create object `Bpreset' in the specified instance.
  755.  */
  756. Xv_opaque
  757. reve_Wprops_Bpreset_create(ip, owner)
  758.     reve_Wprops_objects    *ip;
  759.     Xv_opaque        owner;
  760. {
  761.     extern void        reset_props();
  762.     Xv_opaque    obj;
  763.     
  764.     obj = xv_create(owner, PANEL_BUTTON,
  765.         XV_KEY_DATA, INSTANCE, ip,
  766.         XV_X, 192,
  767.         XV_Y, 336,
  768.         PANEL_LABEL_STRING, "Reset",
  769.         PANEL_NOTIFY_PROC, reset_props,
  770.         NULL);
  771.     return obj;
  772. }
  773.  
  774. /*
  775.  * Initialize an instance of object `Whelp'.
  776.  */
  777. reve_Whelp_objects *
  778. reve_Whelp_objects_initialize(ip, owner)
  779.     reve_Whelp_objects    *ip;
  780.     Xv_opaque    owner;
  781. {
  782.     if (!ip && !(ip = (reve_Whelp_objects *) calloc(1, sizeof (reve_Whelp_objects))))
  783.         return (reve_Whelp_objects *) NULL;
  784.     if (!ip->Whelp)
  785.         ip->Whelp = reve_Whelp_Whelp_create(ip, owner);
  786.     if (!ip->textpane1)
  787.         ip->textpane1 = reve_Whelp_textpane1_create(ip, ip->Whelp);
  788.     return ip;
  789. }
  790.  
  791. /*
  792.  * Create object `Whelp' in the specified instance.
  793.  */
  794. Xv_opaque
  795. reve_Whelp_Whelp_create(ip, owner)
  796.     reve_Whelp_objects    *ip;
  797.     Xv_opaque        owner;
  798. {
  799.     Xv_opaque    obj;
  800.     
  801.     obj = xv_create(owner, FRAME_CMD,
  802.         XV_KEY_DATA, INSTANCE, ip,
  803.         XV_WIDTH, 503,
  804.         XV_HEIGHT, 703,
  805.         XV_LABEL, "Reve Help",
  806.         XV_SHOW, FALSE,
  807.         FRAME_SHOW_FOOTER, FALSE,
  808.         FRAME_SHOW_RESIZE_CORNER, FALSE,
  809.         FRAME_CMD_PUSHPIN_IN, TRUE,
  810.         NULL);
  811.     xv_set(xv_get(obj, FRAME_CMD_PANEL), WIN_SHOW, FALSE, NULL);
  812.     return obj;
  813. }
  814.  
  815. /*
  816.  * Create object `textpane1' in the specified instance.
  817.  */
  818. Xv_opaque
  819. reve_Whelp_textpane1_create(ip, owner)
  820.     reve_Whelp_objects    *ip;
  821.     Xv_opaque        owner;
  822. {
  823.     Xv_opaque    obj;
  824.     
  825.     obj = xv_create(owner, TEXTSW,
  826.         XV_KEY_DATA, INSTANCE, ip,
  827.         XV_X, 0,
  828.         XV_Y, 0,
  829.         XV_WIDTH, WIN_EXTEND_TO_EDGE,
  830.         XV_HEIGHT, WIN_EXTEND_TO_EDGE,
  831.         OPENWIN_SHOW_BORDERS, TRUE,
  832.         NULL);
  833.     return obj;
  834. }
  835.  
  836. /*
  837.  * Initialize an instance of object `Wload'.
  838.  */
  839. reve_Wload_objects *
  840. reve_Wload_objects_initialize(ip, owner)
  841.     reve_Wload_objects    *ip;
  842.     Xv_opaque    owner;
  843. {
  844.     if (!ip && !(ip = (reve_Wload_objects *) calloc(1, sizeof (reve_Wload_objects))))
  845.         return (reve_Wload_objects *) NULL;
  846.     if (!ip->Wload)
  847.         ip->Wload = reve_Wload_Wload_create(ip, owner);
  848.     if (!ip->controls2)
  849.         ip->controls2 = reve_Wload_controls2_create(ip, ip->Wload);
  850.     if (!ip->Tload)
  851.         ip->Tload = reve_Wload_Tload_create(ip, ip->controls2);
  852.     if (!ip->Blapply)
  853.         ip->Blapply = reve_Wload_Blapply_create(ip, ip->controls2);
  854.     return ip;
  855. }
  856.  
  857. /*
  858.  * Create object `Wload' in the specified instance.
  859.  */
  860. Xv_opaque
  861. reve_Wload_Wload_create(ip, owner)
  862.     reve_Wload_objects    *ip;
  863.     Xv_opaque        owner;
  864. {
  865.     Xv_opaque    obj;
  866.     
  867.     obj = xv_create(owner, FRAME_CMD,
  868.         XV_KEY_DATA, INSTANCE, ip,
  869.         XV_WIDTH, 335,
  870.         XV_HEIGHT, 73,
  871.         XV_LABEL, "Load Game",
  872.         XV_SHOW, FALSE,
  873.         FRAME_SHOW_FOOTER, FALSE,
  874.         FRAME_SHOW_RESIZE_CORNER, FALSE,
  875.         FRAME_CMD_PUSHPIN_IN, TRUE,
  876.         NULL);
  877.     xv_set(xv_get(obj, FRAME_CMD_PANEL), WIN_SHOW, FALSE, NULL);
  878.     return obj;
  879. }
  880.  
  881. /*
  882.  * Create object `controls2' in the specified instance.
  883.  */
  884. Xv_opaque
  885. reve_Wload_controls2_create(ip, owner)
  886.     reve_Wload_objects    *ip;
  887.     Xv_opaque        owner;
  888. {
  889.     Xv_opaque    obj;
  890.     
  891.     obj = xv_create(owner, PANEL,
  892.         XV_KEY_DATA, INSTANCE, ip,
  893.         XV_X, 0,
  894.         XV_Y, 0,
  895.         XV_WIDTH, WIN_EXTEND_TO_EDGE,
  896.         XV_HEIGHT, WIN_EXTEND_TO_EDGE,
  897.         WIN_BORDER, FALSE,
  898.         NULL);
  899.     return obj;
  900. }
  901.  
  902. /*
  903.  * Create object `Tload' in the specified instance.
  904.  */
  905. Xv_opaque
  906. reve_Wload_Tload_create(ip, owner)
  907.     reve_Wload_objects    *ip;
  908.     Xv_opaque        owner;
  909. {
  910.     Xv_opaque    obj;
  911.     
  912.     obj = xv_create(owner, PANEL_TEXT,
  913.         XV_KEY_DATA, INSTANCE, ip,
  914.         XV_X, 8,
  915.         XV_Y, 8,
  916.         PANEL_VALUE_DISPLAY_LENGTH, 30,
  917.         PANEL_VALUE_STORED_LENGTH, 255,
  918.         PANEL_LABEL_STRING, "Load File:",
  919.         PANEL_LAYOUT, PANEL_HORIZONTAL,
  920.         PANEL_READ_ONLY, FALSE,
  921.         NULL);
  922.     return obj;
  923. }
  924.  
  925. /*
  926.  * Create object `Blapply' in the specified instance.
  927.  */
  928. Xv_opaque
  929. reve_Wload_Blapply_create(ip, owner)
  930.     reve_Wload_objects    *ip;
  931.     Xv_opaque        owner;
  932. {
  933.     extern void        xv_start_load();
  934.     Xv_opaque    obj;
  935.     
  936.     obj = xv_create(owner, PANEL_BUTTON,
  937.         XV_KEY_DATA, INSTANCE, ip,
  938.         XV_X, 136,
  939.         XV_Y, 40,
  940.         PANEL_LABEL_STRING, "Apply",
  941.         PANEL_NOTIFY_PROC, xv_start_load,
  942.         NULL);
  943.     return obj;
  944. }
  945.  
  946. /*
  947.  * Initialize an instance of object `Wsave'.
  948.  */
  949. reve_Wsave_objects *
  950. reve_Wsave_objects_initialize(ip, owner)
  951.     reve_Wsave_objects    *ip;
  952.     Xv_opaque    owner;
  953. {
  954.     if (!ip && !(ip = (reve_Wsave_objects *) calloc(1, sizeof (reve_Wsave_objects))))
  955.         return (reve_Wsave_objects *) NULL;
  956.     if (!ip->Wsave)
  957.         ip->Wsave = reve_Wsave_Wsave_create(ip, owner);
  958.     if (!ip->controls5)
  959.         ip->controls5 = reve_Wsave_controls5_create(ip, ip->Wsave);
  960.     if (!ip->Tsave)
  961.         ip->Tsave = reve_Wsave_Tsave_create(ip, ip->controls5);
  962.     if (!ip->Bsapply)
  963.         ip->Bsapply = reve_Wsave_Bsapply_create(ip, ip->controls5);
  964.     return ip;
  965. }
  966.  
  967. /*
  968.  * Create object `Wsave' in the specified instance.
  969.  */
  970. Xv_opaque
  971. reve_Wsave_Wsave_create(ip, owner)
  972.     reve_Wsave_objects    *ip;
  973.     Xv_opaque        owner;
  974. {
  975.     Xv_opaque    obj;
  976.     
  977.     obj = xv_create(owner, FRAME_CMD,
  978.         XV_KEY_DATA, INSTANCE, ip,
  979.         XV_WIDTH, 329,
  980.         XV_HEIGHT, 73,
  981.         XV_LABEL, "Save Game",
  982.         XV_SHOW, FALSE,
  983.         FRAME_SHOW_FOOTER, FALSE,
  984.         FRAME_SHOW_RESIZE_CORNER, FALSE,
  985.         FRAME_CMD_PUSHPIN_IN, TRUE,
  986.         NULL);
  987.     xv_set(xv_get(obj, FRAME_CMD_PANEL), WIN_SHOW, FALSE, NULL);
  988.     return obj;
  989. }
  990.  
  991. /*
  992.  * Create object `controls5' in the specified instance.
  993.  */
  994. Xv_opaque
  995. reve_Wsave_controls5_create(ip, owner)
  996.     reve_Wsave_objects    *ip;
  997.     Xv_opaque        owner;
  998. {
  999.     Xv_opaque    obj;
  1000.     
  1001.     obj = xv_create(owner, PANEL,
  1002.         XV_KEY_DATA, INSTANCE, ip,
  1003.         XV_X, 0,
  1004.         XV_Y, 0,
  1005.         XV_WIDTH, WIN_EXTEND_TO_EDGE,
  1006.         XV_HEIGHT, WIN_EXTEND_TO_EDGE,
  1007.         WIN_BORDER, FALSE,
  1008.         NULL);
  1009.     return obj;
  1010. }
  1011.  
  1012. /*
  1013.  * Create object `Tsave' in the specified instance.
  1014.  */
  1015. Xv_opaque
  1016. reve_Wsave_Tsave_create(ip, owner)
  1017.     reve_Wsave_objects    *ip;
  1018.     Xv_opaque        owner;
  1019. {
  1020.     Xv_opaque    obj;
  1021.     
  1022.     obj = xv_create(owner, PANEL_TEXT,
  1023.         XV_KEY_DATA, INSTANCE, ip,
  1024.         XV_X, 8,
  1025.         XV_Y, 8,
  1026.         PANEL_VALUE_DISPLAY_LENGTH, 30,
  1027.         PANEL_VALUE_STORED_LENGTH, 255,
  1028.         PANEL_LABEL_STRING, "Save File:",
  1029.         PANEL_LAYOUT, PANEL_HORIZONTAL,
  1030.         PANEL_READ_ONLY, FALSE,
  1031.         NULL);
  1032.     return obj;
  1033. }
  1034.  
  1035. /*
  1036.  * Create object `Bsapply' in the specified instance.
  1037.  */
  1038. Xv_opaque
  1039. reve_Wsave_Bsapply_create(ip, owner)
  1040.     reve_Wsave_objects    *ip;
  1041.     Xv_opaque        owner;
  1042. {
  1043.     extern void        xv_start_save();
  1044.     Xv_opaque    obj;
  1045.     
  1046.     obj = xv_create(owner, PANEL_BUTTON,
  1047.         XV_KEY_DATA, INSTANCE, ip,
  1048.         XV_X, 128,
  1049.         XV_Y, 40,
  1050.         PANEL_LABEL_STRING, "Apply",
  1051.         PANEL_NOTIFY_PROC, xv_start_save,
  1052.         NULL);
  1053.     return obj;
  1054. }
  1055.  
  1056. /*
  1057.  * Initialize an instance of object `Wboard'.
  1058.  */
  1059. reve_Wboard_objects *
  1060. reve_Wboard_objects_initialize(ip, owner)
  1061.     reve_Wboard_objects    *ip;
  1062.     Xv_opaque    owner;
  1063. {
  1064.     if (!ip && !(ip = (reve_Wboard_objects *) calloc(1, sizeof (reve_Wboard_objects))))
  1065.         return (reve_Wboard_objects *) NULL;
  1066.     if (!ip->Wboard)
  1067.         ip->Wboard = reve_Wboard_Wboard_create(ip, owner);
  1068.     if (!ip->Bcanvas)
  1069.         ip->Bcanvas = reve_Wboard_Bcanvas_create(ip, ip->Wboard);
  1070.     return ip;
  1071. }
  1072.  
  1073. /*
  1074.  * Create object `Wboard' in the specified instance.
  1075.  */
  1076. Xv_opaque
  1077. reve_Wboard_Wboard_create(ip, owner)
  1078.     reve_Wboard_objects    *ip;
  1079.     Xv_opaque        owner;
  1080. {
  1081.     Xv_opaque    obj;
  1082.     Xv_opaque    Wboard_image;
  1083. #include "images/reve.xbm"
  1084.     
  1085.     Wboard_image = xv_create(XV_NULL, SERVER_IMAGE,
  1086.         SERVER_IMAGE_DEPTH, 1,
  1087.         SERVER_IMAGE_X_BITS, reve_bits,
  1088.         XV_WIDTH, reve_width,
  1089.         XV_HEIGHT, reve_height,
  1090.         NULL);
  1091.     obj = xv_create(owner, FRAME,
  1092.         XV_KEY_DATA, INSTANCE, ip,
  1093.         XV_WIDTH, 465,
  1094.         XV_HEIGHT, 463,
  1095.         XV_LABEL, "Reve Game Board",
  1096.         XV_SHOW, TRUE,
  1097.         FRAME_SHOW_FOOTER, FALSE,
  1098.         FRAME_SHOW_RESIZE_CORNER, TRUE,
  1099.         FRAME_ICON, xv_create(XV_NULL, ICON,
  1100.             ICON_IMAGE, Wboard_image,
  1101.             NULL),
  1102.         NULL);
  1103.     return obj;
  1104. }
  1105.  
  1106. /*
  1107.  * Create object `Bcanvas' in the specified instance.
  1108.  */
  1109. Xv_opaque
  1110. reve_Wboard_Bcanvas_create(ip, owner)
  1111.     reve_Wboard_objects    *ip;
  1112.     Xv_opaque        owner;
  1113. {
  1114.     extern Notify_value    canvas_proc();
  1115.     extern void    canvas_resize_proc();
  1116.     Xv_opaque    obj;
  1117.     
  1118.     obj = xv_create(owner, CANVAS,
  1119.         XV_KEY_DATA, INSTANCE, ip,
  1120.         XV_X, 0,
  1121.         XV_Y, 0,
  1122.         XV_WIDTH, WIN_EXTEND_TO_EDGE,
  1123.         XV_HEIGHT, WIN_EXTEND_TO_EDGE,
  1124.         CANVAS_X_PAINT_WINDOW, TRUE,
  1125.         CANVAS_RESIZE_PROC, canvas_resize_proc,
  1126.         NULL);
  1127.     xv_set(canvas_paint_window(obj), WIN_CONSUME_EVENTS,
  1128.         WIN_MOUSE_BUTTONS,
  1129.         LOC_WINENTER,
  1130.         LOC_WINEXIT,
  1131.         WIN_ASCII_EVENTS,
  1132.         NULL, NULL);
  1133.     notify_interpose_event_func(canvas_paint_window(obj),
  1134.         (Notify_func) canvas_proc, NOTIFY_SAFE);
  1135.     /*
  1136.      * This line is here for backwards compatibility. It will be
  1137.      * removed for the next release.
  1138.      */
  1139.     xv_set(canvas_paint_window(obj), XV_KEY_DATA, INSTANCE, ip, NULL);
  1140.     return obj;
  1141. }
  1142.  
  1143.